﻿create database NhanKhau

use NhanKhau
go 

create table Nhankhau(
	MaNK char(12) not null primary key,
	HoTen nvarchar(30) not null,
	MaKS char(9) not null,
	TenGoiKhac  nvarchar(30),
	CMND char(12),
	NgaySinh date,
	GioiTinh bit,
	QueQuan nvarchar(50),
	MaDT char(5),
	NgheNghiep nvarchar(50),
	MaQT char(5),
	MaKT char(5),
	MaTG char(5),
	MaTD char(5),
	MaSHK char(5),
	MaCK char(5)
)

create table GiayKhaiSinh(
	MaKS char(9) not null primary key,
	NoiDangKi nvarchar(50),
	NguoiDangKi nvarchar(30),
	NgayKhaiSinh date,
	NoiSinh nvarchar(50)
)
create table DanToc(
	MaDT char(5) not null primary key,
	TenDanToc nvarchar(16)
)
create table TonGiao(
	MaTG char(5) not null primary key,
	TenTonGiao nvarchar(31)
)
create table TrinhDo(
	MaTD char(5) not null primary key,
	TenTrinhDo nvarchar(23)
)
/*create table NgheNghiep(
	MaNN char(5) not null primary key,
	TenNgheNghiep nvarchar(20)
)*/
create table GiayChungTu(
	MaKT char(5) not null primary key,
	ThoiGianChet date,
	NoiChet nvarchar(30),
	LyDo nvarchar(30),
	NgayLap date
)
create table PhuongXa(
	MaPX char(5) not null primary key,
	TenPhuongXa nvarchar(30),
	MaQH char(5)
)
create table QuocTich(
	MaQT char(5) not null primary key,
	TenQuocTich nvarchar(8)
)
create table QuanHuyen(
	MaQH char(5) not null primary key,
	TenQuanHuyen nvarchar(30)
)
create table NguoiDung(
	MaND char(5) not null primary key,
	TenDangNhap char(15),
	ChucVu nvarchar(20),
	MatKhau char(15),
	MaPX char(5)
)
create table SoHoKhau(
	MaSHK char(5) primary key not null,
	NgayChuyenDen date,
	QuanHe char(9),
	NoiChuyenDen nvarchar(50),
	LyDo nvarchar(20),
	MaPX char(5)
)
create table ChuyenKhau(
	MaCK char(5) primary key not null,
	NoiChuyenDen nvarchar(50),
	LyDo nvarchar(30),
	NgayChuyen date,
)
--Nghĩ là ko có---
create table SHK_NK(
	MaNK char(12),
	MaSHK char(5),
	TGBT date,
	TGKT date,
	NoiDen nvarchar(50),
	NoiDi nvarchar(50),
	primary key(MaSHK,MaNK)
)
go 
-- khoa ngoai cho bảng nhân khẩu
alter table NhanKhau
add constraint fk_TG_NK foreign key (MaTG) references TonGiao(MaTG)
alter table NhanKhau
add constraint fk_DT_NK foreign key (MaTD) references DanToc(MaDT)
alter table NhanKhau
add constraint fk_QT_NK foreign key (MaQT) references QuocTich(MaQT)
/*
alter table NhanKhau


add constraint fk_NN_NK foreign key (MaNN) references NgheNghiep(MaNN)
*/
alter table NhanKhau
add constraint fk_TD_NK foreign key (MaTD) references TrinhDo(MaTD)
alter table NhanKhau
add constraint fk_KS_NK foreign key (MaKS) references GiayKhaiSinh(MaKS)
alter table NhanKhau
add constraint fk_KT_NK foreign key (MaKT) references GiayChungTu(MaKT)
alter table NhanKhau
add constraint fk_SHK_NK foreign key (MaSHK) references SoHoKhau(MaSHK)
alter table NhanKhau
add constraint fk_CK_NK foreign key (MaCK) references ChuyenKhau(MaCK)

--khoa ngoai cho quận huyện

alter table PhuongXa
add constraint fk_QH_NK foreign key (MaQH) references QuanHuyen(MaQH)

-- khoa ngoai cho phường xã
alter table SoHoKhau
add constraint fk_PX_SHK foreign key (MaPX) references PhuongXa(MaPX)
--
--khhoa ngoai người dùng
alter table NguoiDung
add constraint fk_PX_ND foreign key (MaPX) references PhuongXa(MaPX)

--khong có, cho bang NK_SHK
alter table SHK_NK
add constraint fk_SHK_NK_NK foreign key (MaNK) references NhanKhau(MaNK)
alter table SHK_NK
add constraint fk_SHK_NK_SHK foreign key (MaSHK) references SoHoKhau(MaSHK)



--Nhập liệu cho bảng TonGiao
insert into TonGiao 
values (001,N'Phật Giáo')
insert into TonGiao(MaTG,TenTonGiao) 
values (002,N'Công Giáo')
insert into TonGiao(MaTG,TenTonGiao) 
values (003,N'Tin Lành')
insert into TonGiao(MaTG,TenTonGiao) 
values (004,N'Cao Đài')
insert into TonGiao(MaTG,TenTonGiao) 
values (005,N'Phật Giáo Hòa Hảo')
insert into TonGiao(MaTG,TenTonGiao) 
values (006,N'Hồi Giáo')
insert into TonGiao(MaTG,TenTonGiao) 
values (007,N'Bahá`í')
insert into TonGiao(MaTG,TenTonGiao) 
values (008,N'Tĩnh độ cư sĩ Phật hội Việt Nam')
insert into TonGiao(MaTG,TenTonGiao) 
values (009,N'Đạo Tứ Ân Hiếu Nghĩa')
insert into TonGiao(MaTG,TenTonGiao) 
values (010,N'Đạo Bửu Sơn Kì Hương')
insert into TonGiao(MaTG,TenTonGiao) 
values (011,N'Minh Sư Đạo')
insert into TonGiao(MaTG,TenTonGiao) 
values (012,N'Minh Lý Đạo')
insert into TonGiao(MaTG,TenTonGiao) 
values (013,N'Bà-la-môn')

--Nhap dư liệu cho bảng DanToc

insert into DanToc(MaDT,TenDanToc) 
values (001,N'Kinh')
insert into DanToc(MaDT,TenDanToc) 
values (002,N'Tày')
insert into DanToc(MaDT,TenDanToc) 
values (003,N'Thái')
insert into DanToc(MaDT,TenDanToc) 
values (004,N'Hoa')
insert into DanToc(MaDT,TenDanToc) 
values (005,N'Khơ Me')
insert into DanToc(MaDT,TenDanToc) 
values (006,N'Mường')
insert into DanToc(MaDT,TenDanToc) 
values (007,N'Nùng')
insert into DanToc(MaDT,TenDanToc) 
values (008,N'Hmông')
insert into DanToc(MaDT,TenDanToc) 
values (009,N'Dao')
insert into DanToc(MaDT,TenDanToc) 
values (010,N'Gia rai')
insert into DanToc(MaDT,TenDanToc) 
values (011,N'Ngái')
insert into DanToc(MaDT,TenDanToc) 
values (012,N'Ê đê')
insert into DanToc(MaDT,TenDanToc) 
values (013,N'Ba Na')
insert into DanToc(MaDT,TenDanToc) 
values (014,N'Cơ Ho')
insert into DanToc(MaDT,TenDanToc) 
values (015,N'Sán Chay')
insert into DanToc(MaDT,TenDanToc) 
values (016,N'Xơ Đăng')
insert into DanToc(MaDT,TenDanToc) 
values (017,N'Chăm')
insert into DanToc(MaDT,TenDanToc) 
values (018,N'Sán Dìu')
insert into DanToc(MaDT,TenDanToc) 
values (019,N'Hrê')
insert into DanToc(MaDT,TenDanToc) 
values (020,N'Mnông')
insert into DanToc(MaDT,TenDanToc) 
values (021,N'Ra Glai')
insert into DanToc(MaDT,TenDanToc) 
values (022,N'Xtiêng')
insert into DanToc(MaDT,TenDanToc) 
values (023,N'Bru-Vân Kiều')
insert into DanToc(MaDT,TenDanToc) 
values (024,N'Thổ')
insert into DanToc(MaDT,TenDanToc) 
values (025,N'Giáy')
insert into DanToc(MaDT,TenDanToc) 
values (026,N'Cơ Tu')
insert into DanToc(MaDT,TenDanToc) 
values (027,N'Giẻ-Tiêng')
insert into DanToc(MaDT,TenDanToc) 
values (028,N'Mạ')
insert into DanToc(MaDT,TenDanToc) 
values (029,N'Khơ Mú')
insert into DanToc(MaDT,TenDanToc) 
values (030,N'Co')
insert into DanToc(MaDT,TenDanToc) 
values (031,N'Tà Ôi')
insert into DanToc(MaDT,TenDanToc) 
values (032,N'Chơ Ro')
insert into DanToc(MaDT,TenDanToc) 
values (033,N'Kháng')
insert into DanToc(MaDT,TenDanToc) 
values (034,N'Xinh Mun')
insert into DanToc(MaDT,TenDanToc) 
values (035,N'Hà Nhì')
insert into DanToc(MaDT,TenDanToc) 
values (036,N'Chu Ru')
insert into DanToc(MaDT,TenDanToc) 
values (037,N'Lào')
insert into DanToc(MaDT,TenDanToc) 
values (038,N'La Chí')
insert into DanToc(MaDT,TenDanToc) 
values (039,N'La Ha')
insert into DanToc(MaDT,TenDanToc) 
values (040,N'Phú Lá')
insert into DanToc(MaDT,TenDanToc) 
values (041,N'La Hủ')
insert into DanToc(MaDT,TenDanToc) 
values (042,N'Lô Lô')
insert into DanToc(MaDT,TenDanToc) 
values (043,N'Lự')
insert into DanToc(MaDT,TenDanToc) 
values (044,N'Chứt')
insert into DanToc(MaDT,TenDanToc) 
values (045,N'Mảng')
insert into DanToc(MaDT,TenDanToc) 
values (046,N'Pà Thẻn')
insert into DanToc(MaDT,TenDanToc) 
values (047,N'Cờ Lao')
insert into DanToc(MaDT,TenDanToc) 
values (048,N'Cống')
insert into DanToc(MaDT,TenDanToc) 
values (049,N'Bố Y')
insert into DanToc(MaDT,TenDanToc) 
values (050,N'Si La')
insert into DanToc(MaDT,TenDanToc) 
values (051,N'Pu Péo')
insert into DanToc(MaDT,TenDanToc) 
values (052,N'Brâu')
insert into DanToc(MaDT,TenDanToc) 
values (053,N'Ơ Đu')
insert into DanToc(MaDT,TenDanToc) 
values (054,N'Rơ măm')
insert into DanToc(MaDT,TenDanToc) 
values (055,N'Người Nước Ngoài')

--Nhap liêu cho bang Quoctich

insert into QuocTich(MaQT,TenQuocTich)
values (001,N'Việt Nam')

--Nhap liệu cho bảng TrinhDo

insert into TrinhDo(MaTD,TenTrinhDo)
values (001,N'Không biết chữ')
insert into TrinhDo(MaTD,TenTrinhDo)
values (002,N'Không bằng cấp')
insert into TrinhDo(MaTD,TenTrinhDo)
values (003,N'Tiểu học')
insert into TrinhDo(MaTD,TenTrinhDo)
values (004,N'Trung học cơ sở')
insert into TrinhDo(MaTD,TenTrinhDo)
values (005,N'Trung học phổ thông')
insert into TrinhDo(MaTD,TenTrinhDo)
values (006,N'Trung cấp chuyên nghiệp')
insert into TrinhDo(MaTD,TenTrinhDo)
values (007,N'Cao đẳng')
insert into TrinhDo(MaTD,TenTrinhDo)
values (008,N'Đại học')
insert into TrinhDo(MaTD,TenTrinhDo)
values (009,N'Trên đại học')

--nhập liệu cho bang KhaiSinh

insert into KhaiSinh(MaKS,NoiDangKi,NguoiDangKi,NgayKhaiSinh,NoiSinh)
values (001)
--nhap lieu cho bang QuanHuyen

insert into QuanHuyen(MaQH,TenQuanHuyen)
values (001,N'Bến Lức')
insert into QuanHuyen(MaQH,TenQuanHuyen)
values (002,N'Thủ Thừa')
insert into QuanHuyen(MaQH,TenQuanHuyen)
values (003,N'Thạnh Hóa')
insert into QuanHuyen(MaQH,TenQuanHuyen)
values (004,N'Cần Giuộc')

--nhap lieu cho bang PhuongXa

insert into PhuongXa(MaPX,MaQH,TenPhuongXa)
values (001,001,N'Lương Bình')
insert into PhuongXa(MaPX,MaQH,TenPhuongXa)
values (002,001,N'Lương Hòa')
insert into PhuongXa(MaPX,MaQH,TenPhuongXa)
values (003,001,N'An Thạnh')
insert into PhuongXa(MaPX,MaQH,TenPhuongXa)
values (004,001,N'Tân Hòa')

--nhap liệu cho bảng NguoiDung

insert into NguoiDung(MaND,TenDangNhap,ChucVu,MatKhau,DonVi)
values (001,'NVAN',N'Trưởng Công an','123','Không biết')
insert into NguoiDung(MaND,TenDangNhap,ChucVu,MatKhau,DonVi)
values (002,'NVTY',N'Trưởng Công an','123','Không biết')

